package cc.rengu.igas.cops.facade;

import cc.rengu.igas.cops.facade.request.TokenPreSignQueryRequest;
import cc.rengu.igas.cops.facade.request.TokenPreSignRequest;
import cc.rengu.igas.cops.facade.request.TokenResSignInfoRequest;
import cc.rengu.igas.cops.facade.response.TokenPreSignQueryResponse;
import cc.rengu.igas.cops.facade.response.TokenPreSignResponse;
import cc.rengu.igas.cops.facade.response.TokenResSignInfoResponse;
import cc.rengu.igas.cops.facade.result.Result;

/**
 * 收银台对外开放接口
 *
 * @author xionglz
 * @date 2020-05-20
 **/
public interface OpmsOutSideService {

    /**
     * 银联无跳转预签约
     *
     * @param tokenPreSignRequest
     * @author xionglz
     * @date 2020-05-20
     **/
    Result<TokenPreSignResponse> tokenPreSign(TokenPreSignRequest tokenPreSignRequest);

    /**
     * 银联无跳转签约查询
     *
     * @param tokenPreSignQueryRequest
     * @return cc.rengu.igas.cops.facade.result.Result<cc.rengu.igas.cops.facade.response.TokenPreSignQueryResponse>
     * @author xionglz
     * @date 2020-05-29
     **/
    Result<TokenPreSignQueryResponse> tokenPreSignQuery(TokenPreSignQueryRequest tokenPreSignQueryRequest);

    /**
     * 银联无跳转解约
     *
     * @param tokenResSignInfoRequest
     * @return cc.rengu.igas.cops.facade.result.Result<cc.rengu.igas.cops.facade.response.TokenResSignInfoResponse>
     * @author xionglz
     * @date 2020-06-08
     **/
    Result<TokenResSignInfoResponse> tokenResSignInfo(TokenResSignInfoRequest tokenResSignInfoRequest);

}
